The processes for secure management of data by encryption/decryption and/or by signature/verification of signature have become crucial nowadays because of the growing increase in the exchanges of data of all kinds, on the one hand, and because of the widespread use of very powerful electronic data processing means which are capable of allowing less scrupulous individuals unauthorised access to data in transit in the network, on the other hand.
In order to face up to the acuteness of the aforementioned problems, the developments of technical solutions nowadays propose cryptographic products provided in the form of integrated circuits, for example of the ASIC type. Each circuit of this type is then produced with a view to an application which is well defined and of which the design is carried out in two stages:                a first stage consisting of a logic design of the cryptographic product, and        a second stage, known as routing placement, which is the responsibility of the designer of integrated circuits, and consists of translating the logic functions into physical terms in electronic circuits.        
Because of the necessary association of distinct specialisms, the operations for development of the aforementioned integrated circuits of the ASIC type are very costly in time and in resources for development. For this reason such circuits can only be developed on an industrial scale for batches exceeding at least about ten thousand.
Furthermore, due to their nature as dedicated circuits, these latter cannot claim a great flexibility of use, which of course prejudices the possibility of them becoming widespread.
In order to remedy the drawbacks relating to the implementation of the aforementioned integrated circuits, it is necessary simultaneously to satisfy several specific criteria, among them:                use of programmable technologies in place of the ASIC-type integrated circuits;        demand for a level of performance comparable to that of the ASIC-type integrated circuits, as regards the level of secure management of the data, the speed of processing and the rate of transmission of the secure data;        possibility of re-use of cryptography components in distinct environments, particularly within the framework of different types of memory architecture, in order to obtain maximum adaptability or flexibility of use;        possibility of embedding in these cryptography components original specific, so-called proprietary processes or algorithms for encryption/decryption and/or calculation/verification of signature, without however introducing change into the architecture thereof;        possibility of simultaneous execution in multitask mode of several processes or algorithms for secure management of data without a decline in the level of performance, whilst permitting the introduction of a diversification of the secure management processes;        rationalisation and systematisation of secure management processes by constitution of substantially independent secure management blocks.        
With regard to the aforementioned criteria, the available solutions which are currently known appear particularly ill-adapted.
A first solution may consist of making use of standard commercially available components. This solution, whilst it has the interesting feature of rapid implementation, does not satisfy the aforementioned criteria. In particular, each cryptography product must, even with the use of the aforementioned standard components, be the subject of specific design and implementation. It must also use different components, in particular in the presence of different and incompatible memory interfacing circuits. In such a situation, finally, there is no real control of the technology for secure management of data because the cryptography components which constitute the core of the cryptography product are purchased from a supplier who, in general, does not communicate all the information relating to his product in order to preserve the supposed inviolability thereof. Equally, the embedding of specific processes or algorithms for secure management of data is not in any way easy, as in such a case such embedding must be carried out on a separate component.
A second solution consists of the implementation of solutions on a case by case basis. If the programmable technologies may appear adapted to this type of solution, the major drawback of such an approach lies in the absence of any possibility of perpetuating the control of the embedding of processes or algorithms for secure management of data for other cases of use, whilst in addition it does enable the development resources to be rationalised since the operation of redefinition and of redesign is very important for each case. For this reason the embedding of proprietary secure management processes or algorithms is all the more costly in design and development services.